package com.market.mapper;

import com.market.dto.GoodsDto;
import com.market.entity.Goods;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;


import java.util.List;

/**
 * @ClassName GoodsMapper
 * @Description TODO
 * @Author pq
 * @Date 2022/3/28 15:45
 * @Version 1.0
 */
@Mapper
public interface GoodsMapper {
    //新增商品
    int addGoods(Goods goods);

    //上架商品
    int shelveGoods(int goodsId);

    //下架商品
    int offShelveGoods(int goodsId);

    //删除商品
    int deleteGoods(int goodsId);

    //修改商品属性（名称，售价，描述，每日可销售数量）
    int updateGoodsProperty(int goodsId,String goodsName,double price,String description,int typeId,int sellNum);

    //通过商品类别id查询商品(分页)
    List<Goods> queryGoodsByTypeId(int typeId);

    //根据商品id查询某个商品
    Goods queryGoodsByGoodsId(int goodsId);

    //根据商品名查询商品
    Goods queryGoodsByGoodsName(String goodsName);

    int updateGoodsSellNum(int goodsId, int newSellNum);

    //查询所有以上架商品
    List<GoodsDto> queryGoodsByState();

    //查询所有商品
    List<Goods>queryAllGoods();

    //根据分类查询商品Dto
    List<GoodsDto> queryByType(int typeId);
}
